iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

初心者學C#系列 第 6

Day 6:C#的基本語法 (((o(*°▽°*)o)))

  • 分享至 

  • xImage
  •  

※以下內容皆是新手撰寫,內容可能不完全正確

(也許有人已經發現這其實是30天可愛顏文字挑戰了(誤))

講C#的語法(syntax)之前,
C#是物件導向(object-oriented)程式語言,而這表示程式中的物件透過行為(actions)互動。

  • 物件可能採取的行為稱作 方法(methods)
  • 相同類型的物件屬於同一個 類別(class)

以下是我參考Tutorialspoint舉例用的長方形程式,而我動了一點手腳,把原本的長方形變成正方體~(寫著寫著還寫出幾個bug,我超廢)
https://ithelp.ithome.com.tw/upload/images/20190921/2012088265OXHRIoZZ.png

執行以上程式會輸出以下:
https://ithelp.ithome.com.tw/upload/images/20190921/20120882dCPl5HuSoa.png

Using關鍵字 :任何C#程式都以using System;做開頭,用途為涵蓋程式的名稱空間(namespaces);程式通常會有多個using System敘述像這樣。
https://ithelp.ithome.com.tw/upload/images/20190921/20120882PctMKCNo5I.png

Class關鍵字
宣告一個類別用的(如宣告上面的Cube、calcube)。

註解(comments)
前一篇有提到,而上面的例子裏面沒有註解。
多行的註解用/……/夾住;單行的註解在想寫的字前面加上「//」即可(e.g. //Yee.)。

成員變數(member variables)
類別中的屬性或資料成員,用來儲存資料。上面的Cube類別裡有三個成員變數,分別是height、width和length。

成員功能(member functions)
一組能處理特定任務(task)的功能。一個程式的成員功能會在類別裡宣告;Cube類別中有三個成員功能:numbers、value跟calc(這些成員功能的名字可真的要好好取啊,不然會像我這個廢渣一樣,寫到最後把某些亂取一通的東西搞混)。

樣例化類別(instantiating a class)
樣例化是創造某屬性的物件,上面的calcube(我到底怎麼取這些爛identifier的= =…)類別把Cube類別樣例化。

識別符(identifiers)
識別符就是上面說名字要取好的東西(所有寫程式的人能自己定義的東西),而C#語言程式裡頭這些辨識符的命名規矩如下:

  • 識別符的開頭必須是能接著一串字母、數字(0~9)和底線的字母,且開頭的不能是數字。
  • 名稱中不能有任何嵌式空間或符號(像是? - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / \),但可以用底線「_」。
  • 取的名稱 不能是C#的關鍵字

C#關鍵字(keywords)
C#的關鍵字是C#編譯器已經有某定義的字,所以不能拿來當識別符使用。若真的非常想使用關鍵字當識別符也不是毫無辦法,可以在使用的關鍵字前面加上「@」。
C#中有某些關鍵字會視程式碼的前後文而有特別的意義,而這些關鍵字稱作上下文關鍵字(contextual keywords)。
www.tutorialspoint.com/csharp/csharp_basic_syntax.htm 有列出一些C#的關鍵字和上下文關鍵字。

說實在,這篇弄最久的是抓自己亂寫出來的東西的bug,一大堆錯位的大括號orz
下一篇是C#的類型轉換,雖然自學的大綱是跟著tutorialspoint,但有時候會爬一些其它的論壇/自學資源做輔助(畢竟是個懵懵懂懂ㄉ初心者)。

參考資料:
(a) StackOverflow;What does it mean to instantiate a class?
https://stackoverflow.com/questions/26703694/what-does-it-mean-to-instantiate-a-class
(b) Microsoft: Namespaces (C# Programming Guide)
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/namespaces/
(c) TutorialsPoint;C# - Basic Syntax
https://www.tutorialspoint.com/csharp/csharp_basic_syntax.htm
(d) 國家教育研究院雙語詞彙
http://terms.naer.edu.tw


上一篇
Day 5:C#的程式結構 ,YEE \(★ω★)/
下一篇
Day 7:C#的資料類型 (●´Д`●)
系列文
初心者學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言